#ifndef OBJMESHLOADER_H_
#define OBJMESHLOADER_H_

#include <string>
#include "mesh/MeshLoader.h"
#include "mesh/Material.h"

/**
 * Loads meshes stored using the OBJ file format.
 */
class OBJMeshLoader: public MeshLoader {
public:
	OBJMeshLoader(ResourceCollection *resources);
	bool supports(std::string path);
	Mesh* load(std::string path, ShaderProgram* program);
	virtual ~OBJMeshLoader();
private:
	void loadMaterialLibrary(std::string objPath, std::string matLibPath, std::vector<Material*> &materials,  std::vector<Texture*> &textures);
};

#endif /* OBJMESHLOADER_H_ */
